#ifndef ROOT_TTAG_H
#define ROOT_TTAG_H
//-----------------------------------------------------------------
//           Implementation of the EventTag class
//   This is the class to deal with the TTags in the event level
//   Origin: Beijiang Liu, IHEP, liubj@ihep.ac.cn
//-----------------------------------------------------------------

#include "TObject.h"
#include "TObjArray.h"
//#include <vector>
//using namespace std;

class TTag : public TObject {


 public:
  TTag();
  TTag(const TTag & t);
  virtual ~TTag();

  TTag &operator=(const TTag &rhs);

  void setRun(Int_t run){fRun=run;}
  Int_t getRun()const {return fRun;}
  void setRec(Int_t rec){fRec=rec;}
  Int_t getRec()const {return fRec;}
  void setNcharge(Int_t ncharge){fNcharge=ncharge;}
  Int_t getNcharge()const {return fNcharge;}
  void setNneu(Int_t nneu){fNneu=nneu;}
  Int_t getNneu()const {return fNneu;}
  void setNtot(Int_t ntot){fNtot=ntot;}
  Int_t getNtot()const {return fNtot;}
  void setNgam(Int_t ngam){fNgam=ngam;}
  Int_t getNgam()const {return fNgam;}
  void setNgch_p(Int_t ngch_p){fNgch_p=ngch_p;}
  Int_t getNgch_p()const {return fNgch_p;}
  void setNgch_m(Int_t ngch_m){fNgch_m=ngch_m;}
  Int_t getNgch_m()const {return fNgch_m;}
  void setNpion_p(Int_t npion_p){fNpion_p=npion_p;}
  Int_t getNpion_p()const {return fNpion_p;}
  void setNpion_m(Int_t npion_m){fNpion_m=npion_m;}
  Int_t getNpion_m()const {return fNpion_m;}
  void setNkaon_p(Int_t nkaon_p){fNkaon_p=nkaon_p;}
  Int_t getNkaon_p()const {return fNkaon_p;}
  void setNkaon_m(Int_t nkaon_m){fNkaon_m=nkaon_m;}
  Int_t getNkaon_m()const {return fNkaon_m;}
  void setNproton_p(Int_t nproton_p){fNproton_p=nproton_p;}
  Int_t getNproton_p()const {return fNproton_p;}
  void setNproton_m(Int_t nproton_m){fNproton_m=nproton_m;}
  Int_t getNproton_m()const {return fNproton_m;}
  void setEvis(Double_t evis){fEvis=evis;}
  Double_t getEvis()const {return fEvis;}

  void initialize( );
  void Clear(Option_t *option="");
 
  void Print(Option_t *option="") const;
  friend class ObjectHook;
 private:

  Int_t  fRun;
  Int_t  fRec;
  Int_t  fNcharge;
  Int_t  fNneu;
  Int_t  fNtot;

  Int_t  fNgam;
  Int_t  fNgch_p;
  Int_t  fNgch_m;
  Int_t  fNpion_p;
  Int_t  fNpion_m;
  Int_t  fNkaon_p;
  Int_t  fNkaon_m;
  Int_t  fNproton_p;
  Int_t  fNproton_m;
  Double_t  fEvis;
  ClassDef(TTag,1)  //(ClassName, ClassVersion)
    };

#endif
